package com.work.entity.main;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 退关设置
 *
 * @author ：dujianyu
 * @since ：Created in 2024/5/27 10:47
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("retreat_set")
@ApiModel(value = "RetreatSet对象", description = "退关设置")
public class RetreatSet extends TenantEntity {

    /** 创建人姓名 */
    @ApiModelProperty(name = "创建人姓名",notes = "")
    private String createUserName ;

    /** 更新人姓名 */
    @ApiModelProperty(name = "更新人姓名",notes = "")
    private String updateUserName ;

    /** 货运船ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "货运船ID",notes = "")
    private Long transportShipId ;

    /** 货运舱单ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "货运舱单ID",notes = "")
    private Long transportBillId ;

    /** 理货舱单ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "理货舱单ID",notes = "")
    private Long tShipBillId ;

    /** 理货日期 */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @JsonFormat(pattern = DateUtil.PATTERN_DATE)
    @ApiModelProperty(name = "理货日期",notes = "")
    private LocalDate tallyDate ;

    /** 时间段（班组） */
    @ApiModelProperty(name = "时间段（班组）",notes = "")
    private String timeSpace ;

    /** 退关的场存垛位id */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "退关的场存垛位id",notes = "")
    private Long retreatStorageId ;

    /** 退关件数 */
    @ApiModelProperty(name = "退关件数",notes = "")
    private Integer retreatPiece ;

    /** 退关吨数 */
    @ApiModelProperty(name = "退关吨数",notes = "")
    private BigDecimal retreatTon ;

    /** 退关类型 */
    @ApiModelProperty(name = "退关类型",notes = "")
    private String retreatType ;

    /** 退关原因 */
    @ApiModelProperty(name = "退关原因",notes = "")
    private String retreatReason ;

}
